package com.example.conf.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author wpdcn
 * @since 2019-12-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("shop_member")
@ApiModel
public class MemberInfoEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @Column(comment = "主键id")
    @TableId(value = "member_id", type = IdType.ID_WORKER_STR)
    private String memberId;

    @Column(comment = "所属的品牌商id")
    @ApiModelProperty("所属的品牌商id")
    private Long accountId;

    @Column(comment = "会员类型：1个人会员；2企业会员")
    @ApiModelProperty("会员类型：1个人会员；2企业会员")
    private String memberType;

    @Column(comment = "unionId")
    private String unionId;

    /**
     * 用户昵称
     */
    @Column(comment = "用户昵称")
    private String nickName;

    /**
     * 真实姓名
     */
    @Column(comment = "真实姓名")
    private String realName;

    /**
     * 用户邮箱
     */
    @Column(comment = "用户邮箱")
    private String userMail;

    /**
     * 登录密码
     */
    @Column(comment = "登录密码")
    private String loginPassword;

    /**
     * 登录盐值
     */
    @Column(comment = "登录盐值")
    private String loginSalt;

    /**
     * 支付密码
     */
    @Column(comment = "支付密码")
    private String payPassword;

    /**
     * 支付盐值
     */
    @Column(comment = "支付盐值")
    private String paySalt;

    /**
     * 手机号码
     */
    @Column(comment = "手机号码")
    private String userMobile;

    /**
     * 修改时间
     */
    @Column(comment = "修改时间")
    private LocalDateTime modifyTime;

    /**
     * 注册时间
     */
    @Column(comment = "注册时间")
    private LocalDateTime userRegtime;

    /**
     * 注册IP
     */
    @Column(comment = "注册IP")
    private String userRegip;

    /**
     * 最后登录时间
     */
    @Column(comment = "最后登录时间")
    private LocalDateTime userLasttime;

    /**
     * 过期时间
     */
    @Column(comment = "过期时间")
    @TableField(exist = false)
    private LocalDateTime expireTime;

    /**
     * 最后登录IP
     */
    @Column(comment = "最后登录IP")
    private String userLastip;

    /**
     * 备注
     */
    @Column(comment = "备注")
    private String userMemo;

    /**
     * 1(男) or 2(女)
     */
    @Column(comment = "1(男) or 2(女)")
    private Integer sex;

    /**
     * 例如：2009-11-27
     */
    @Column(comment = "生日 例如：2009-11-27")
    private String birthDate;

    /**
     * 头像图片路径
     */
    @Column(comment = "头像图片路径")
    private String pic;

    /**
     * 状态 1 正常 0 无效
     */
    @Column(comment = "创建时状态 1 正常 0 无效间")
    private Integer status;

    /**
     * 会员等级编码：1-一级农夫
     */
    @Column(comment = "会员等级编码：1-一级农夫")
    private String levelCode;

    @Column(comment = "等级名称")
    @TableField(exist = false)
    private String levelName;

    /**
     * 用户积分
     */
    @Column(comment = "用户积分")
    private Double score;

    /**
     * 余额
     */
    @Column(comment = "余额")
    private Double balance;

    /**
     * 是否技工
     */
    @Column(comment = "是否技工")
    private String isMechanic;

    /**
     * 是否员工
     */
    @Column(comment = "是否员工")
    private String isStaff;

    @Column(comment = "公司")
    @ApiModelProperty("公司")
    private String company;

    /**
     * 总下单金额
     */
    @Column(comment = "总下单金额")
    private Double totalOrderAmt;



}
